Week 1 Foundations Of Computer Science

All the materials needed to complete Week 2 are listed further down this page.

๐Ÿ” OVERVIEW

Week 1 will lay the groundwork with a focus on fundamental concepts and context - exploring computer science history, ethics, and the basics of hardware and software. Additionally, we'll cover mental strategies for programming and problem-solving to build a positive and confident coding mindset.

There is alot of reading this week, but it is not overly technical and meant to ease you in to thinking about computer science and getting familiar with the fundamental concepts and ideas.

  • Fundamentals and basics - We learn about computer science history, ethics, basic computer knowledge (hardware and software), and some examples of jobs within the field.
    Itโ€™s helpful to know the history of how computers evolved - for one, it shows demonstrates the binary foundation of computers in a tangible way. But it also demonstrates how things have evolved, and how fast itโ€™s developed. This week we also discuss why computer science is important, and the impact of technology.

  • Ethics - We discuss how big data can impact society, and what can go wrong with AI in a concrete way. But more importantly, we delve into the responsibilities we have as coders, and how we must take care to write code that is inclusive and takes into account human diversity. After all, a diverse range of users will interact with our technology, so we need to consider their varying needs.

  • Mentality - We explore how to mentally approach programming. Coding can be hard, but itโ€™s hard for everyone - no matter their experience. To motivate you, and to show you that getting stuck or frustrated is part of the job and not a personal failing, we included a segment about good mental habits to adopt. We will address common misconceptions about programmers, including the fallacy that you are "the only one" struggling with a particular problem.

  • Software and Hardware - We examine software and hardware in depth to provide you with a solid understanding of how computers work. This knowledge will be valuable in the future, as understanding why your computer freezes, for example, can aid in troubleshooting and give you a starting point for problem-solving.

  • Markdown - Lastly, we talk a bit about Markdown, a simple formatting language for writing documents. You will be writing a lot of Markdown in the future, and getting a head start will help you utilize it with more confidence!

๐Ÿ“š MATERIALS

๐Ÿ“– PDFsย ๐Ÿ“บ VIDEOS & SLIDES
Part 1Intro to Computer Science - History & Contextย Intro to Computer Science - History & Context
Part 2Programmer Mentality - A Guideย Programmer Mentality - A Guide
Part 3Hardware vs Softwareย Hardware vs Software
Part 4Markdownย